Spring Boot та логування (Slf4j, @Log)

Логування – це важливий інструмент для відстеження помилок та налагодження додатка. У Spring Boot можна використовувати **SLF4J**, **Logback**, **Log4j** та інші бібліотеки.

1. Використання Slf4j

**Slf4j** (Simple Logging Facade for Java) – це абстракція для роботи з різними логерами, такими як Logback чи Log4j.

                
                import org.slf4j.Logger;
                import org.slf4j.LoggerFactory;
                import org.springframework.stereotype.Service;
                
                @Service
                public class LoggingService {
                    private static final Logger logger = LoggerFactory.getLogger(LoggingService.class);
                    
                    public void logMessage() {
                        logger.info("Це інформаційне повідомлення");
                        logger.warn("Це попередження");
                        logger.error("Це повідомлення про помилку");
                    }
                }
                
            

2. Використання @Slf4j

Spring Boot також підтримує **Lombok** для автоматичного створення логерів. Достатньо додати **@Slf4j**.

                
                import lombok.extern.slf4j.Slf4j;
                import org.springframework.stereotype.Service;
                
                @Slf4j
                @Service
                public class LoggingService {
                    public void logMessage() {
                        log.info("Логування за допомогою @Slf4j");
                    }
                }
                
            

3. Конфігурація логування в application.properties

                
                logging.level.root=INFO
                logging.level.org.springframework=DEBUG
                logging.file.name=application.log
                logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n
                
            

4. Використання Logback

Logback – це основна система логування в Spring Boot. Файл конфігурації logback-spring.xml може виглядати так:

                
                
                
                    
                        logs/app.log
                        
                            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
                        
                    
                    
                        
                    
                
                
            

Назад Далі